﻿#region License

// Copyright (c) 2013, ClearCanvas Inc.
// All rights reserved.
// http://www.clearcanvas.ca
//
// This file is part of the ClearCanvas RIS/PACS open source project.
//
// The ClearCanvas RIS/PACS open source project is free software: you can
// redistribute it and/or modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// The ClearCanvas RIS/PACS open source project is distributed in the hope that it
// will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
// Public License for more details.
//
// You should have received a copy of the GNU General Public License along with
// the ClearCanvas RIS/PACS open source project.  If not, see
// <http://www.gnu.org/licenses/>.

#endregion

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.269
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation {
    using System.Runtime.Serialization;
    using System;
    
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="SearchStudiesRequest", Namespace="http://www.clearcanvas.ca/imageViewer/automation")]
    [System.SerializableAttribute()]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.SearchRemoteStudiesRequest))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.SearchLocalStudiesRequest))]
    public partial class SearchStudiesRequest : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        private ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.DicomExplorerSearchCriteria SearchCriteriaField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.DicomExplorerSearchCriteria SearchCriteria {
            get {
                return this.SearchCriteriaField;
            }
            set {
                if ((object.ReferenceEquals(this.SearchCriteriaField, value) != true)) {
                    this.SearchCriteriaField = value;
                    this.RaisePropertyChanged("SearchCriteria");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="DicomExplorerSearchCriteria", Namespace="http://www.clearcanvas.ca/imageViewer/automation")]
    [System.SerializableAttribute()]
    public partial class DicomExplorerSearchCriteria : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        private string AccessionNumberField;
        
        private string[] ModalitiesField;
        
        private string PatientIdField;
        
        private string PatientsNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ReferringPhysiciansNameField;
        
        private System.Nullable<System.DateTime> StudyDateFromField;
        
        private System.Nullable<System.DateTime> StudyDateToField;
        
        private string StudyDescriptionField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public string AccessionNumber {
            get {
                return this.AccessionNumberField;
            }
            set {
                if ((object.ReferenceEquals(this.AccessionNumberField, value) != true)) {
                    this.AccessionNumberField = value;
                    this.RaisePropertyChanged("AccessionNumber");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public string[] Modalities {
            get {
                return this.ModalitiesField;
            }
            set {
                if ((object.ReferenceEquals(this.ModalitiesField, value) != true)) {
                    this.ModalitiesField = value;
                    this.RaisePropertyChanged("Modalities");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public string PatientId {
            get {
                return this.PatientIdField;
            }
            set {
                if ((object.ReferenceEquals(this.PatientIdField, value) != true)) {
                    this.PatientIdField = value;
                    this.RaisePropertyChanged("PatientId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public string PatientsName {
            get {
                return this.PatientsNameField;
            }
            set {
                if ((object.ReferenceEquals(this.PatientsNameField, value) != true)) {
                    this.PatientsNameField = value;
                    this.RaisePropertyChanged("PatientsName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ReferringPhysiciansName {
            get {
                return this.ReferringPhysiciansNameField;
            }
            set {
                if ((object.ReferenceEquals(this.ReferringPhysiciansNameField, value) != true)) {
                    this.ReferringPhysiciansNameField = value;
                    this.RaisePropertyChanged("ReferringPhysiciansName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public System.Nullable<System.DateTime> StudyDateFrom {
            get {
                return this.StudyDateFromField;
            }
            set {
                if ((this.StudyDateFromField.Equals(value) != true)) {
                    this.StudyDateFromField = value;
                    this.RaisePropertyChanged("StudyDateFrom");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public System.Nullable<System.DateTime> StudyDateTo {
            get {
                return this.StudyDateToField;
            }
            set {
                if ((this.StudyDateToField.Equals(value) != true)) {
                    this.StudyDateToField = value;
                    this.RaisePropertyChanged("StudyDateTo");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public string StudyDescription {
            get {
                return this.StudyDescriptionField;
            }
            set {
                if ((object.ReferenceEquals(this.StudyDescriptionField, value) != true)) {
                    this.StudyDescriptionField = value;
                    this.RaisePropertyChanged("StudyDescription");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="SearchRemoteStudiesRequest", Namespace="http://www.clearcanvas.ca/imageViewer/automation")]
    [System.SerializableAttribute()]
    public partial class SearchRemoteStudiesRequest : ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.SearchStudiesRequest {
        
        private string AETitleField;
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public string AETitle {
            get {
                return this.AETitleField;
            }
            set {
                if ((object.ReferenceEquals(this.AETitleField, value) != true)) {
                    this.AETitleField = value;
                    this.RaisePropertyChanged("AETitle");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="SearchLocalStudiesRequest", Namespace="http://www.clearcanvas.ca/imageViewer/automation")]
    [System.SerializableAttribute()]
    public partial class SearchLocalStudiesRequest : ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.SearchStudiesRequest {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="SearchLocalStudiesResult", Namespace="http://www.clearcanvas.ca/imageViewer/automation")]
    [System.SerializableAttribute()]
    public partial class SearchLocalStudiesResult : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="SearchRemoteStudiesResult", Namespace="http://www.clearcanvas.ca/imageViewer/automation")]
    [System.SerializableAttribute()]
    public partial class SearchRemoteStudiesResult : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="NoLocalStoreFault", Namespace="http://www.clearcanvas.ca/imageViewer/automation")]
    [System.SerializableAttribute()]
    public partial class NoLocalStoreFault : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="DicomExplorerNotFoundFault", Namespace="http://www.clearcanvas.ca/imageViewer/automation")]
    [System.SerializableAttribute()]
    public partial class DicomExplorerNotFoundFault : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ServerNotFoundFault", Namespace="http://www.clearcanvas.ca/imageViewer/automation")]
    [System.SerializableAttribute()]
    public partial class ServerNotFoundFault : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.clearcanvas.ca/imageViewer/automation", ConfigurationName="DicomExplorerAutomation.IDicomExplorerAutomation")]
    public interface IDicomExplorerAutomation {
        
        [System.ServiceModel.OperationContractAttribute(Action="http://www.clearcanvas.ca/imageViewer/automation/IDicomExplorerAutomation/SearchL" +
            "ocalStudies", ReplyAction="http://www.clearcanvas.ca/imageViewer/automation/IDicomExplorerAutomation/SearchL" +
            "ocalStudiesResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.NoLocalStoreFault), Action="http://www.clearcanvas.ca/imageViewer/automation/IDicomExplorerAutomation/SearchL" +
            "ocalStudiesNoLocalStoreFaultFault", Name="NoLocalStoreFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.DicomExplorerNotFoundFault), Action="http://www.clearcanvas.ca/imageViewer/automation/IDicomExplorerAutomation/SearchL" +
            "ocalStudiesDicomExplorerNotFoundFaultFault", Name="DicomExplorerNotFoundFault")]
        ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.SearchLocalStudiesResult SearchLocalStudies(ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.SearchLocalStudiesRequest request);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://www.clearcanvas.ca/imageViewer/automation/IDicomExplorerAutomation/SearchR" +
            "emoteStudies", ReplyAction="http://www.clearcanvas.ca/imageViewer/automation/IDicomExplorerAutomation/SearchR" +
            "emoteStudiesResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.DicomExplorerNotFoundFault), Action="http://www.clearcanvas.ca/imageViewer/automation/IDicomExplorerAutomation/SearchR" +
            "emoteStudiesDicomExplorerNotFoundFaultFault", Name="DicomExplorerNotFoundFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.ServerNotFoundFault), Action="http://www.clearcanvas.ca/imageViewer/automation/IDicomExplorerAutomation/SearchR" +
            "emoteStudiesServerNotFoundFaultFault", Name="ServerNotFoundFault")]
        ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.SearchRemoteStudiesResult SearchRemoteStudies(ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.SearchRemoteStudiesRequest request);
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface IDicomExplorerAutomationChannel : ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.IDicomExplorerAutomation, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class DicomExplorerAutomationClient : System.ServiceModel.ClientBase<ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.IDicomExplorerAutomation>, ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.IDicomExplorerAutomation {
        
        public DicomExplorerAutomationClient() {
        }
        
        public DicomExplorerAutomationClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public DicomExplorerAutomationClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public DicomExplorerAutomationClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public DicomExplorerAutomationClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        public ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.SearchLocalStudiesResult SearchLocalStudies(ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.SearchLocalStudiesRequest request) {
            return base.Channel.SearchLocalStudies(request);
        }
        
        public ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.SearchRemoteStudiesResult SearchRemoteStudies(ClearCanvas.ImageViewer.DesktopServices.Automation.TestClient.DicomExplorerAutomation.SearchRemoteStudiesRequest request) {
            return base.Channel.SearchRemoteStudies(request);
        }
    }
}
